package com.baizhi.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*自定义注解包
    定义一个自定义注解  目的是为了方便在日志切面类增强方法中 获取日志内容和日志类型
* */

/*开发一个自定义注解步骤：
    1、给自定义注解添加 原（元）注解  最常用的就是下面两个
    @Target(ElementType.METHOD)  含义：该注解指明其标注的自定义注解的作用范围，
                                        ElementType.METHOD指可以用在方法内
                                        还有其它属性值，可以作用在属性上、类上等
    @Retention(RetentionPolicy.RUNTIME) 含义：该注解指明其标注的自定义注解起作用的周期（时间）
                                    RetentionPolicy.RUNTIME代表 一直有效
                                    还有其它属性 如：在编译期有效  在运行期有效等等

* */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface LogAnnotation {
    /*
    * 2、定义该自定义注解中的属性
    * 定义注解属性的方式 与定义接口的方法一样
    * 但使用的方式 与实体类的属性用法一直
    * */
    String content();
    String type();
}
